package com.le.tester.imooc.oldfairy.coding.datastructure;

import java.util.Stack;

/**
 * createTime：2023/5/29 14:29
 * description：使用栈实现队列
 */
public class LQueue2<T> {

    Stack<T> s1 = new Stack<>();
    Stack<T> s2 = new Stack<>();

    public void enqueue(T t) {
        s1.push(t);
    }

    public T dequeue() {
        if (s2.size() > 0) {
            return s2.pop();
        }
        //第一次刚push时，s2的值为null，进行循环，而第一次进行的时候，只要从s2中直接pop数据即可
        while (s1.size() > 0) {
            s2.push(s1.pop());
        }

        return s2.pop();
    }
}
